package com.v3admin.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.v3admin.system.domain.SystemUserRole;

import java.util.Set;

/**
 * 用户角色关联
 *
 * @author Junpeng.Li
 * @date 2023-12-14 16:20
 */
public interface SystemUserRoleService extends IService<SystemUserRole> {

    /**
     * 给用户设置角色
     *
     * @param userId  用户ID
     * @param roleIds 角色ID集合，最少一个
     */
    void setRole(Long userId, Set<Long> roleIds);

    /**
     * 删除给用户分配的所有角色
     *
     * @param userId 用户ID
     */
    void removeByUser(Long userId);

    /**
     * 删除所有用户含有的指定角色
     *
     * @param roleId 角色ID
     */
    void removeByRoleId(Long roleId);
}
